home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_oth / ada / readme.txt < prev    next >
Text File  |  1986-06-24  |  5KB  |  80 lines

  1.  
  2.  
  3.      Augusta is a subset of the US Department of Defense computer 
  4. language Ada.  It was devised by Edward Mitchell and published in 
  5. Dr. Dobb's Journal.  As published, it consists of four files.  
  6. AUGUSTA.BAS is the compiler, written in generic Microsoft BASIC.  
  7. It reads in keywords, predefined constants and some other stuff 
  8. from KEYWORDS.TXT when it is run.  The remaining two files are 
  9. demonstration programs published with the compiler.  SIEVE.AUG is 
  10. the popular Eratosthenes Sieve benchmark, while DEMO.AUG is a 
  11. simple number guessing game.
  12.      The rest of the programs in this set were added by me.  
  13. AUGUSTA.PAS is a direct translation of AUGUSTA.BAS into Borland 
  14. Turbo Pascal, with minor modifications to put it in procedure 
  15. form and make it a little more understandable.  DISGUSTA.PAS is a 
  16. disassembler for compiled Augusta programs, to translate them 
  17. into something readable, similar to assembly language.  Finally, 
  18. ATERP.PAS is an interpreter for compiled programs.  The need for 
  19. these last two will be explained.
  20.      Augusta is based on an interpreter which implements a stack-
  21. oriented virtual machine.  This machine executes special "pseudo-
  22. code", in which each byte represents a simple operation, say "Add 
  23. 2 Integers", or "Print A String".  The interpreter goes through 
  24. the compiled p-code, decoding the bytes and carrying out the 
  25. appropriate operation.  This system has advantages and disadvan
  26. tages.  On the good side, the compiled programs can be moved to 
  27. another computer without any changes, and will run just the same.  
  28. The same could be said of the original source program, but p-code 
  29. can be interpreted much faster than the source could be.  On the 
  30. bad side, p-code interpretation is much slower than a normal 
  31. program.  The extra layer of software between the program and the 
  32. microprocessor has a high cost in speed.  Furthermore, even 
  33. though the compiled program can be moved unmodified, the inter
  34. preter can not.  Each computer has to have its own interpreter.  
  35. Fortunately the interpreter can be written in a high level lang
  36. uage and moved over with little trouble.
  37.      The published articles introducing Augusta span four issues 
  38. of Dr. Dobb's, totalling over fifty pages.  They explain the 
  39. operation of the compiler, the language syntax, and the details 
  40. of the p-code system.  I won't try to explain it all here.  
  41. Instead, I'll tell you how to get yourself started and let you do 
  42. the rest.  If you want more info, I refer you to Dr. Dobb's 
  43. issues 75, 77, 79, and 81, running every other month from January 
  44. to July of 1983.  There is a 160 page book about Augusta men
  45. tioned in the article available from Laboratory Microsystems 
  46. Inc., 4147 Beethoven Street, Los Angeles, CA, 90066.  They also 
  47. offer a complete Z80 CP/M interpreter written in assembly lang
  48. uage.
  49.      I read about Augusta and got interested, but for some reason 
  50. no interpreter was provided with the compiler.  Wanting to use 
  51. the system, I wrote an interpreter for my IBM PC.  In the pro
  52. cess, I needed and wrote a disassembler to see just what p-codes 
  53. were being used.  And when those were through, I knew the com
  54. piler well enough to translate it to Pascal in short order.       
  55. If you want to use my programs, you'll need Turbo Pascal.  You 
  56. can compile the demonstration Augusta programs two ways.  Either 
  57. you can run AUGUSTA.BAS from BASIC or AUGUSTA.PAS from Turbo.  
  58. They both use KEYWORDS.TXT and prompt for what they want.  To run 
  59. the programs, you must have Turbo.  Use ATERP. It takes one 
  60. command line parameter, the name of the compiled Augusta file.  
  61. If you want to see what p-code nmemonics look like, run DISGUSTA from 
  62. Turbo.  It will prompt for the filename and go by itself, leaving 
  63. the text disassembly on disk.  I've tried to make everything non-
  64. MSDOS specific.  I think I did it right, but it's untested.  
  65. AUGUSTA.PAS and DISGUSTA.PAS should be no problem, but ATERP.PAS has 
  66. a variable System_Size, to be defined as 8 or 16 as needed.  If 
  67. you've set that properly and it still won't work, likely trouble 
  68. spots are the free memory calculations or the pointer operations.
  69.      If anyone has any comments or bugs to report or maybe an 
  70. improved version, I'd like to hear about it.  I'll be the first 
  71. to admit that my work could use some work.  Public domain soft
  72. ware is meant to be explored and improved upon, and I'd like to 
  73. think that Augusta is no exception.
  74.  
  75.                                    Jim Castleberry
  76.                                    12404 Summerport Lane
  77.                                    Windermere, FL, 32786
  78.                                    January 6, 1986
  79.  
  80.